<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>document</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <div id="root">
        <h2>人员列表</h2>
        <button @click="updateMei">更新马冬梅的信息</button>
        <ul>
            <li v-for="p in persons" :key="p.id"> 
                {{p.name}}-{{p.age}}-{{p.sex}}
            </li>
        </ul>
    </div>
    <script>
        Vue.config.productionTip = false

        let vm = new Vue({
            el: "#root", 
            data: { 
                persons:[
                    {
                        id: 101,
                        name: '马冬梅',
                        age: 18,
                        sex: '女'
                    },
                    {
                        id: 102,
                        name: '周冬雨',
                        age: 20,
                        sex: '女'
                    },
                    {
                        id: 103,
                        name: '周杰伦',
                        age: 23,
                        sex: '男'
                    },
                    {
                        id: 104,
                        name: '温兆伦',
                        age: 23,
                        sex: '男'
                    }
                ],
            },
            methods: {
                updateMei() {
                    //这种修改方式有效
                    // this.persons[0].name = '马什么梅'
                    // this.persons[0].sex = '男'
                    // this.persons[0].age = 50

                    //这种修改方式无效，数据改了，但vue没有监测到
                    this.persons[0] = {
                        id: 101,
                        name: '马冬什么',
                        age: 55,
                        sex: '男'
                    }

                    //正确写法
                    // this.persons.splice(0, 1, {
                    //     id: 101,
                    //     name: '马冬什么',
                    //     age: 55,
                    //     sex: '男'
                    // })
                }
            },
        })
    </script>
</body>
</html>